package org.ehe.erp.domain.quality;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import org.ehe.common.mybatis.core.domain.BaseEntity2;
import org.hibernate.validator.constraints.Length;
/**
 * 质检项目实体类
 *
 * @author zhangnn
 * @className ErpQualityItem
 * @description 质检项目表实体，记录质检标准和检验方法
 * @date 2025-09-10 15:00:00
 */
@Data
@TableName("erp_quality_item")
public class ErpQualityItem extends BaseEntity2 {

    /** 质检项目ID */
    @TableId(type = IdType.AUTO)
    private Long id;

    /** 质检项目编码 */
    @NotBlank(message = "质检项目编码不能为空")
    @Length(max = 100, message = "质检项目编码长度不能超过100字符")
    private String itemCode;

    /** 质检项目名称 */
    @NotBlank(message = "质检项目名称不能为空")
    @Length(max = 255, message = "质检项目名称长度不能超过255字符")
    private String itemName;

    /** 质检分类 */
    @Length(max = 100, message = "质检分类长度不能超过100字符")
    private String category;

    /** 质检标准描述 */
    @Length(max = 2000, message = "质检标准描述长度不能超过2000字符")
    private String standard;

    /** 检验方法 */
    @Length(max = 500, message = "检验方法长度不能超过500字符")
    private String checkMethod;

    /** 是否必检项（0否、1是） */
    private Integer isRequired;

    /** 排序 */
    private Integer sort;

    /** 状态（0禁用、1启用） */
    @NotNull(message = "状态不能为空")
    private Integer status;
}
